<?php
class search_app{
  function search($query,$index=0,$max=25,$api=false){
    global $core,$config, $document,$searchResults;
    include_once $config->paths["core/class"].'posicion.class.php';
    
    $db=&$core->getDB();
    $con=&$db->getConexion();
    $filters=$this->parseFilters();
    $q="select `id` from `posiciones`
      where (`titulo`LIKE'%".mysql_real_escape_string($query)."%'
	or `descripcion`LIKE'%".mysql_real_escape_string($query)."%')"
		."limit ".(intval($index)?intval($index):"0").",".(intval($max)?intval($max):"25");
    $r=mysql_query($q);
    $results=array();
    if($r&& mysql_num_rows($r)){
      while($i=mysql_fetch_array($r,MYSQL_ASSOC)){
		$results[]=new posicion($i["id"]);
      }
    }
    $searchResults=$results;
    if(!$api){
      $document->addVariable("#QUERY#",htmlentities($query,null,"utf-8"));
      $document->addVariable("#SEARCHTYPE#","string");
      }
    return $results;
  }
  function parseFilters(){
  	global $vr;
    $query=array();
    $filters=explode(":",$_GET["filters"]);
    $casa=intval($filters[0]);
    $departamento=intval($filters[1]);
    $amueblado=intval($filters[2]);
    $precio=intval($filters[3]);
    $habitaciones=intval($filters[4]);
    $banos=intval($filters[5]);
    $m2=intval($filters[6]);
    $precio_m2=intval($filters[7]);
    $superficie=intval($filters[8]);
    $anyo=intval($filters[9]);
    $estacionamiento=intval($filters[10]);
    $cocina=intval($filters[11]);
    $biblioteca=intval($filters[12]);
    $estudio=intval($filters[13]);
    $tv=intval($filters[14]);
    $chimenea=intval($filters[15]);
    $cava=intval($filters[16]);
    $vestidor=intval($filters[17]);
    $bodega=intval($filters[18]);
    $circuito=intval($filters[19]);
    $lavado=intval($filters[20]);
    $elevador=intval($filters[21]);
    $elevadors=intval($filters[22]);
    $tintoreria=intval($filters[23]);
    $aire=intval($filters[24]);
    $calefaccion=intval($filters[25]);
    $portero=intval($filters[26]);
    $red=intval($filters[27]);
    $sistema_seguridad=intval($filters[28]);
    $jardin=intval($filters[29]);
    $terraza=intval($filters[30]);
    $vista=intval($filters[31]);
    $parque=intval($filters[32]);
    $playa=intval($filters[33]);
    $muelle=intval($filters[34]);
    $alberca=intval($filters[35]);
    $jacuzzi=intval($filters[36]);
    $gimnasio=intval($filters[37]);
    $spa=intval($filters[38]);
    $tenis=intval($filters[39]);
    $golf=intval($filters[40]);
    $club=intval($filters[41]);
    $sjuegos=intval($filters[42]);
    $fiestas=intval($filters[43]);
    $juegos=intval($filters[44]);
    $mascotas=intval($filters[45]);
    $condominios=intval($filters[46]);
    $ecologico=intval($filters[47]);
    $discapacitados=intval($filters[48]);
    $helipuerto=intval($filters[49]);
    $vrs=intval($filters[50]);
	
    if($casa)$query[]="`casa`='1'";
    if($departamento)$query[]="`casa`='2'";
    if($amueblado)$query[]="`amueblado`='1'";
    if($precio)$query[]="`precio`>'".$precio."'";
    if($habitaciones)$query[]="`habitaciones`>'".$habitaciones."'";
    if($banos)$query[]="`banos`>'".$banos."'";
    if($m2)$query[]="`m2`>'".$m2."'";
    if($precio_m2)$query[]="`preciom2`>'".$precio_m2."'";
    if($superficie)$query[]="`m2s`>'".$superficie."'";
    if($anyo)$query[]="`anio`>'".$anyo."'";
    if($estacionamiento)$query[]="`estacionamientos`>'".$estacionamiento."'";
    if($cocina)$query[]="`cocina`='1'";
    if($biblioteca)$query[]="`biblioteca`='1'";
    if($estudio)$query[]="`estudio`='1'";
    if($tv)$query[]="`tv`='1'";
    if($chimenea)$query[]="`cava`='1'";
    if($cava)$query[]="`vestidor`='1'";
    if($vestidor)$query[]="`vestidor`='1'";
    if($bodega)$query[]="`circuito`='1'";
    if($circuito)$query[]="`circuito`='1'";
    if($lavado)$query[]="`lavado`='1'";
    if($elevador)$query[]="`elevador`='1'";
    if($elevadors)$query[]="`elevadors`='1'";
    if($tintoreria)$query[]="`tintoreria`='1'";
    if($aire)$query[]="`aire`='1'";
    if($calefaccion)$query[]="`calefaccion`='1'";
    if($portero)$query[]="`portero`='1'";
    if($red)$query[]="`red`='1'";
    if($sistema_seguridad)$query[]="`sistema_seguridad`='1'";
    if($jardin)$query[]="`jardin`='1'";
    if($terraza)$query[]="`terraza`='1'";
    if($vista)$query[]="`vista`='1'";
    if($parque)$query[]="`parque`='1'";
    if($playa)$query[]="`playa`='1'";
    if($muelle)$query[]="`muelle`='1'";
    if($alberca)$query[]="`alberca`='1'";
    if($jacuzzi)$query[]="`jacuzzi`='1'";
    if($gimnasio)$query[]="`gimnasio`='1'";
    if($spa)$query[]="`spa`='1'";
    if($tenis)$query[]="`tenis`='1'";
    if($golf)$query[]="`golf`='1'";
    if($club)$query[]="`club`='1'";
    if($sjuegos)$query[]="`sjuegos`='1'";
    if($fiestas)$query[]="`fiestas`='1'";
    if($juegos)$query[]="`juegos`='1'";
    if($mascotas)$query[]="`mascotas`='1'";
    if($condominios)$query[]="`condominios`='1'";
    if($ecologico)$query[]="`ecologico`='1'";
    if($discapacitados)$query[]="`discapacitados`='1'";
    if($helipuerto)$query[]="`helipuerto`='1'";
    $query[]="`tipo_vr`='".($vrs?$vrs:$vr)."'";
	if($vrs){
		$_SESSION["vr"]=$vrs;
	}
    return $query;
  }
  function searchbounds($query,$index=0,$max=25,$api=false){
    global $core, $document,$searchResults;
    include_once $core->loadClass("posicion");

    $db=&$core->getDB();
    $con=&$db->getConexion();

    $query2=explode(":",$query);
    $ne=array($query2[0],$query2[1]);
    $sw=array($query2[2],$query2[3]);
    $filters=$this->parseFilters();
    $q="select `id` from `posiciones`
      where
	(`lat`<='".mysql_real_escape_string($ne[0])."'
	and `lat`>='".mysql_real_escape_string($sw[0])."'
	and `lon`<='".mysql_real_escape_string($ne[1])."'
	and `lon`>='".mysql_real_escape_string($sw[1])."')"
	
      ."limit ".(intval($index)?intval($index):"0").",".(intval($max)?intval($max):"25");
    $r=mysql_query($q);
    $results=array();
    if($r&& mysql_num_rows($r)){
      while($i=mysql_fetch_array($r,MYSQL_ASSOC)){
	$results[]=new posicion($i["id"]);
      }
    }
    $searchResults=$results;
    if($document){
      $document->addVariable("#QUERY#",htmlentities($query,null,"utf-8"));
      $document->addVariable("#SEARCHTYPE#","bounds");
      }
    return $results;
  }
}